.\" $XFree86$
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 enablecli
.ds Xs 64367 6 enableclientstate.gl
.TH GLENABLECLIENTSTATE 3G
.SH NAME
.B "glEnableClientState, glDisableClientState
\- enable or disable client-side capability

.SH C SPECIFICATION
void \f3glEnableClientState\fP(
GLenum cap);  \fI1.1\fP )
.nf
.fi

.EN
.SH PARAMETERS
.TP \w'\f21.1\fP\ \ 'u
\f21.1\fP
Specifies the capability to enable.
Symbolic constants
\%\f3GL_COLOR_ARRAY\fP,
\%\f3GL_EDGE_FLAG_ARRAY\fP,
\%\f3GL_INDEX_ARRAY\fP,
\%\f3GL_NORMAL_ARRAY\fP,
\%\f3GL_TEXTURE_COORD_ARRAY\fP, and
\%\f3GL_VERTEX_ARRAY\fP
are accepted.
.SH C SPECIFICATION
void \f3glDisableClientState\fP(
GLenum cap);  \fI1.1\fP )
.nf
.fi

.SH PARAMETERS
.TP
\f21.1\fP
Specifies the capability to disable.
.SH DESCRIPTION
\%\f3glEnableClientState\fP and \%\f3glDisableClientState\fP
enable or disable individual client-side capabilities. By default, all
client-side capabilities are disabled.
Both
\%\f3glEnableClientState\fP and \%\f3glDisableClientState\fP take a
single argument, \f21.1\fP, which can assume one of the following
values:
.TP 25
\%\f3GL_COLOR_ARRAY\fP
If enabled, the color array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glColorPointer\fP.
.TP
\%\f3GL_EDGE_FLAG_ARRAY\fP
If enabled, the edge flag array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glEdgeFlagPointer\fP.
.TP
\%\f3GL_INDEX_ARRAY\fP
If enabled, the index array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glIndexPointer\fP.
.TP
\%\f3GL_NORMAL_ARRAY\fP
If enabled, the normal array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glNormalPointer\fP.
.TP
\%\f3GL_TEXTURE_COORD_ARRAY\fP
If enabled, the texture coordinate array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glTexCoordPointer\fP.
.TP
\%\f3GL_VERTEX_ARRAY\fP
If enabled, the vertex array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glVertexPointer\fP.
.SH NOTES
\%\f3glEnableClientState\fP is available only if the GL version is 1.1 or greater.
.P
If \%\f3GL_ARB_multitexture\fP is supported, enabling and disabling
\%\f3GL_TEXTURE_COORD_ARRAY\fP affects the active client texture unit.
The active client texture unit is controlled with
\%\f3glClientActiveTextureARB\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f21.1\fP is not an accepted value.
.P
\%\f3glEnableClientState\fP is not allowed between the execution of \%\f3glBegin\fP and the
corresponding \%\f3glEnd\fP, but an error may or may not be generated. If
no error is generated, the behavior is undefined.
.SH SEE ALSO
\%\f3glArrayElement(3G)\fP,
\%\f3glClientActiveTextureARB(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDrawArrays(3G)\fP,
\%\f3glDrawElements(3G)\fP,
\%\f3glEdgeFlagPointer(3G)\fP,
\%\f3glEnable(3G)\fP,
\%\f3glGetPointerv(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glInterleavedArrays(3G)\fP,
\%\f3glNormalPointer(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertexPointer(3G)\fP
